Skip to content

CmdPal: Fix dock band activation lifecycle - #49739

Open
Jiří Polášek (jiripolasek) wants to merge 1 commit into
mainfrom
dev/jpolasek/f/cmdpal-fix-dock-band-activation-lifecycle
Open

CmdPal: Fix dock band activation lifecycle#49739
Jiří Polášek (jiripolasek) wants to merge 1 commit into
mainfrom
dev/jpolasek/f/cmdpal-fix-dock-band-activation-lifecycle

Conversation

@jiripolasek

@jiripolasek Jiří Polášek (jiripolasek) commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Summary of the Pull Request

This PR improve handling of the dock band life cycle, with PerfMon benefiting from this - it should reduce risk of bands being stuck.

  • Remembers the exact IListPage used for the ItemsChanged subscription, so we have muching unsubscribe.
  • Serializes initialization and cleanup to prevent late subscriptions.
  • Derives Performance Monitor load state from active subscribers, so our decisions now follow the real-world state.
  • Prevents widget activation counts from underflowing during Dock rebuilds.
  • Adds regression tests for activation transitions and cleanup races.

@jiripolasek Jiří Polášek (jiripolasek) added Product-Command Palette Refers to the Command Palette utility CmdPal - Dock Issues related to the Command Palette Dock labels Aug 7, 2026
@jiripolasek
Jiří Polášek (jiripolasek) force-pushed the dev/jpolasek/f/cmdpal-fix-dock-band-activation-lifecycle branch from 1fafc3a to e594b64 Compare August 7, 2026 05:18

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DockBandViewModel.InitializeFromList is scheduling an async UI update. Since cleanup can finish before it runs, should we add a check of the cleanup state in the UI callback or serialize initialization and cleanup?

@jiripolasek

Copy link
Copy Markdown
Collaborator Author

DockBandViewModel.InitializeFromList is scheduling an async UI update. Since cleanup can finish before it runs, should we add a check of the cleanup state in the UI callback or serialize initialization and cleanup?

The other pancake (#49742) addresses this

- Remembers the exact IListPage used for the ItemsChanged subscription, so we have muching unsubscribe.
- Serializes initialization and cleanup to prevent late subscriptions.
- Derives Performance Monitor load state from active subscribers, so our decisions now follow the real world state.
- Prevents widget activation counts from underflowing during Dock rebuilds.
- Adds regression tests for activation transitions and cleanup races.
@michaeljolley
Michael Jolley (michaeljolley) force-pushed the dev/jpolasek/f/cmdpal-fix-dock-band-activation-lifecycle branch from e594b64 to d370908 Compare August 9, 2026 18:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CmdPal - Dock Issues related to the Command Palette Dock Product-Command Palette Refers to the Command Palette utility

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants